第一章
仅自己用,不着重于定义,关心技术本身和其与需求之间的关系
- 为了让人们能够传达、理解互相发出的信息,需要根据一定的格式、顺序发出信息。协议定义了在两个或多个通信实体之间交换的报文格式和次序,以及发送(接受)报文时采取的步骤。
- 主机=端系统。那为什么一个概念要分为两个词呢?我觉得主机这个词着重于计算机的掌握信息的能力,而端系统这个词着重于信息交换时其所处的位置。
- 家庭接入
- DSL:利用电话线,使数据和电话线合并。模拟信号(电话)+数字信号(电脑)->调制解调并调频率->传到中心局,分频后分别给因特网和电话网。
- 电缆接入:电缆->光缆->电
- 光纤到户(FFH):包含PON和AON和其他。ONT(光纤分配器所连光纤的末端)->光纤分配器->光纤->OLT(实现光电转换)
- 物理媒体
- 双绞铜线:便宜,常用于LAN.
- 同轴电缆:能被用作共享媒体。个人认为之所以用于电视系统是因为客户看的都是相同的内容(节目不会由观众改变)。
- 光纤:不受电磁干扰、衰减低、难窃听。光设备很贵,如发射器、接收器和交换机,因此不适用于短途。
- 网络核心
- 分组:将报文划分为较小的数据块
- 报文:源信息
- 存储转发传输:若R比特/秒为传输速率(被把门的人查包裹的速率),L比特为分组(包裹大小),则若有N条速率均为R的链路,则端到端时延为N*(L/R). (此时有N-1个路由器)
- 排队时延:过关时前面的人马堵住了去路
- 分组丢失:缓存被其他等待传输的分组充满了。这时一个自然的问题是:数据去哪了?但是数据是需要有载体的,它可能以几何式减弱的幅度消散在了空气中。
- 转发表:路由器用于将目的地址(或目的地址的一部分)映射成链路。
- 路由选择协议:用于自动地设置这些转发表。
通过网络链路和交换机移动数据的方法
- 电路交换:为双方预留传输容量(餐馆预留座位)
- 分组交换:按需使用链路的传输容量,但是需要排队等待接入(快餐店)
- 电路交换和分组交换谁更优?分组交换按需分配,不浪费资源,因此更加有效率。
网络的网络
因特网是网络的网络。用户和内容提供商是较底层ISP(如区域ISP)的客户,较低层ISP是较高层ISP的客户。
- ISP:An Internet service provider (ISP) is an organization that provides services accessing and using the Internet. Wiki
- 一个事实是:没有一个ISP能覆盖全球,因此出现分工。
- 但在任何给定的区域内,都有若干区域ISP。 区域ISP与第一层ISP相连,大约有十几个第一层ISP,如AT&T,Sprint。
- 接入ISP负责将网络与端系统直接相连。接入ISP向其以上层的ISP付费,被称为客户。
- PoP:客户与提供商ISP相连时所需的提供商的一台或多台路由器。
- 多宿:接入ISP与多个提供商相连以保证稳定性的手法。
- 对等:减少中间商,使它们之间的流量直接连接而不是通过上游的中间ISP传输。
- IXP:使不同层的ISP相连成为对等(peer)的交换点。目的是减少中间商收取的费用。
- 内容提供商网络(content provider network):企业专用的网络,试图通过与较低的ISP对等(无结算)来绕过较高层的流量计算。
- 时延、丢包与吞吐量
- 处理时延:检查分组首部和决定将分组导向何处。
- 排队时延:取决于先期到达的正在排队等待向链路传输的分组数量。
- 传输时延:将所有分组的比特推向链路的时间,L/R,L为分组长度,R为链路传输速率。
- 传播时延:距离/传播速度。一个比特从一台路由器到另一台路由器传播所需要的时间。
- 总时延:$d_{total}=d_{proc}+d_{queue}+d_{trans}+d_{prop}$
- 排队时延和丢包:若$a$ pkt/s为分组到达队列的平均速率,R为传输速率,L为包的比特长,则$\frac{La}{R}$为流量强度。设计系统时流量强度不能大于1,否则就意味着比特到达队列的平均速率超过从该队列传输出去的速率。
- 端到端时延:若从源到目的地有N-1台路由,则端到端时延为$d_{end-end}=N(d_{proc}+d_{trans}+d_{prop})$.(假设网络无拥堵,即排队时延微不足道)
- 吞吐量:考虑从主机A到主机B跨越计算机网络传送一个大文件。瞬时吞吐量为主机B接受到该文件的速率(bps)。如果该文件以F比特组成,主机B接受到所有F比特用去T秒,则文件传送的平均吞吐量为F/Tbps.
- 吞吐量取决于沿着源和目的地之间路径的最小传输速率。这很直观。
- 协议层次及其服务模型
- 为什么要分层?结构化,使得更新系统组件更加容易。坏处是一层可能冗余较低层的功能;且不同层之间可能需要其他层的信息(而非服务),这违反了层次分离的目标(这表明这种分离方式需要改进)。
- 应用层:信息组织方式称为报文。HTTP(web文档),SMTP(电子邮件),FTP(端系统间文件),DNS(端系统名字转为32比特网络地址)。该层负责网络应用程序。
- 运输层:信息组织方式称为报文段。该层负责在应用程序之间传送应用层报文。TCP提供面向连接的服务,UDP提供无连接服务。
- 网络层:信息组织方式称为数据报。该层负责将数据报从一台主机移动到另一台主机。IP协议定义数据报中各个字段以及端系统和路由器如何作用于这些字段。同时有路由选择协议。
- 链路层:信息组织方式称为帧。数据报从源到目的地要经过多条链路,则一个数据报可能被沿途不同的链路层协议处理。
- 物理层:信息组织方式称为比特。该层负责将帧中的一个个比特从一个结点移动到下一个结点。协议包括传输媒体的性能判断。
- 网络安全
- 经过因特网放入有害程序
- 病毒:通过执行恶意代码传染,需要用户交互。
- 蠕虫:无需明显交互。
- 攻击服务器和网络基础设施
Dos攻击(Denial-of-Serveice attack):使得资源被占用,不能被合法用户使用。- 弱点攻击:向一台目标主机的弱点(应用程序、操作系统)发送制作精细的报文。
- 带宽洪泛:发送大量分组,使得目标的接入链路拥堵
- 连接洪泛:尚不理解
若从单一源发出所有流量,被攻击者只需拒绝接受即可。但是如果是控制多个源并向目标猛烈发送流量(分布式DoS),则难以防范。
- 嗅探分组
- 在无线传输设备附近放一台被动的接收机,就能得到传输的每个分组的副本。防御方法包括密码学。
- 伪装成信任的人:将具有虚假源地址的分组注入因特网的能力叫做IP哄骗。解决方法为确信报文源来自我们认为它应当来自的地方,叫做端点鉴别。
- 经过因特网放入有害程序